package com.scvtc.domain.dto.student.base;

import cn.afterturn.easypoi.excel.annotation.Excel;
import cn.afterturn.easypoi.excel.annotation.ExcelTarget;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import lombok.experimental.Accessors;

import java.io.Serializable;

/**
 * @Description: 学生基本信息
 * @Author: yiFei
 * @date: 2022/4/20 17:08
 */
@Data
@Builder
@EqualsAndHashCode(callSuper = false)
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = true)
@ApiModel("学生基本信息 (Dto) ")
@JsonInclude(JsonInclude.Include.NON_NULL)
@ExcelTarget("StudentBase")
public class StudentsBaseDto implements Serializable {

    private static final long serialVersionUID = -2231751639240343543L;

    private Long id;

    /**
     * 身份证号
     */
    @ApiModelProperty(value = "身份证号")
    @Excel(name = "身份证号", width = 25.0)
    private String stuIdentityId;

    /**
     * 学号
     */
    @ApiModelProperty(value = " 学号")
    @Excel(name = "学号", width = 20.0)
    private String stuNum;

    /**
     * 考生号
     */
    @ApiModelProperty(value = "考生号")
    @Excel(name = "考生号", width = 20.0)
    private String stuExamId;

    /**
     * 姓名
     */
    @ApiModelProperty(value = "姓名")
    @Excel(name = "姓名")
    private String stuName;

    /**
     * 性别
     */
    @ApiModelProperty(value = "性别")
    @Excel(name = "性别")
    private String stuGender;

    /**
     * 年龄
     */
    @ApiModelProperty(value = "年龄")
    @Excel(name = "年龄")
    private Integer stuAge;

    /**
     * 政治面貌
     */
    @ApiModelProperty(value = "政治面貌")
    @Excel(name = "政治面貌")
    private String stuPolitical;

    /**
     * 入学年份
     */
    @ApiModelProperty(value = "入学年份")
    @Excel(name = "入学年份", width = 12.0)
    private String stuInDate;

    /**
     * 入学方式
     */
    @ApiModelProperty(value = "入学方式")
    @Excel(name = "入学方式", width = 12.0)
    private String stuInWay;

    /**
     * 学籍状态
     */
    @ApiModelProperty(value = "学籍状态")
    @Excel(name = "学籍状态")
    private String stuStatus;

    /**
     * 学籍类别（正常、异常、未注册等）
     */
    @ApiModelProperty(value = "学籍类别（正常、异常、未注册等）")
    @Excel(name = "学籍类别")
    private String stuStatusCategory;

    /**
     * 开户银行
     */
    @ApiModelProperty(value = "开户银行")
    @Excel(name = "开户银行", width = 15.0)
    private String stuBank;

    /**
     * 银行卡号
     */
    @ApiModelProperty(value = "银行卡号")
    @Excel(name = "银行卡号", width = 25.0)
    private String stuBankId;

    /**
     * 是否贷款
     */
    @ApiModelProperty(value = "是否贷款")
    @Excel(name = "是否贷款")
    private String stuIsLoan;

    /**
     * 二级学院
     */
    @ApiModelProperty(value = "二级学院")
    @Excel(name = "二级学院", width = 15.0)
    private String stuSchool;

    /**
     * 专业
     */
    @ApiModelProperty(value = "专业")
    @Excel(name = "专业")
    private String stuMajor;

    /**
     * 班级
     */
    @ApiModelProperty(value = "班级")
    @Excel(name = "班级", width = 12.0)
    private String stuClass;

    /**
     * 学历层次
     */
    @ApiModelProperty(value = "学历层次")
    @Excel(name = "学历层次")
    private String stuDegrees;

    /**
     * 生日
     */
    @ApiModelProperty(value = "生日")
    @Excel(name = "生日", width = 13.0)
    private String stuBirthday;

    /**
     * 联系电话
     */
    @ApiModelProperty(value = "联系电话")
    @Excel(name = "联系电话", width = 14.0)
    private String stuTel;

    /**
     * 邮箱
     */
    @ApiModelProperty(value = "邮箱")
    @Excel(name = "邮箱", width = 20.0)
    private String stuEmail;

    /**
     * 是否独生子女
     */
    @ApiModelProperty(value = "是否独生子女")
    @Excel(name = "是否独生子女", width = 13.0)
    private String stuOnlyChild;

    /**
     * 生源地区域（如农村、小城市、城镇、大城市等）
     */
    @ApiModelProperty(value = "生源地区域（如农村、小城市、城镇、大城市等）")
    @Excel(name = "生源地区域", width = 11.0)
    private String stuFromArea;

    /**
     * 民族
     */
    @ApiModelProperty(value = "民族")
    @Excel(name = "民族")
    private String stuNation;

    /**
     * 生源地名称（如：四川省成都市）
     */
    @ApiModelProperty(value = "生源地名称（如：四川省成都市）")
    @Excel(name = "生源地名称", width = 20.0)
    private String stuFromAreaName;

    /**
     * 家庭住址
     */
    @ApiModelProperty(value = "家庭住址")
    @Excel(name = "家庭住址", width = 26.0)
    private String stuFamilyAddress;

    /**
     * 辅导员
     */
    @ApiModelProperty(value = "辅导员")
    @Excel(name = "辅导员")
    private String stuTutor;

    /**
     * 辅导员电话
     */
    @ApiModelProperty(value = "辅导员电话")
    @Excel(name = "辅导员电话", width = 14.0)
    private String stuTutorTel;

    /**
     * 监护人姓名
     */
    @ApiModelProperty(value = "监护人姓名")
    @Excel(name = "监护人姓名", width = 11.0)
    private String stuGuardiansName;

    /**
     * 监护人电话
     */
    @ApiModelProperty(value = "监护人电话")
    @Excel(name = "监护人电话", width = 14.0)
    private String stuGuardiansTel;

}
